{SIMC} - {ML} Inference Secure Against Malicious Clients at {Semi-Honest} Cost
SIMC:以半诚实的安全成本防范恶意客户的 ML 推理
安全推理允许模型所有者(或称服务器)和输入所有者(或称客户端)对机器学习模型进行推理,而不向对方透露其私人信息。大量的工作显示了通过安全的 2 方计算来解决这个问题的有效加密方案。然而,他们假设双方都是半诚实的,即遵循协议规范。最近,Lehmkuhl 等人表明,恶意的客户可以使用新的模式提取攻击来提取服务器的整个模型。为了补救这种情况,他们引入了客户端 - 恶意威胁模型,并建立了一个安全推理系统 MUSE,即使在客户端是恶意的情况下,也能提供安全保证。
在这项工作中,我们设计并建立了 SIMC,一个新的加密系统,用于客户端恶意威胁模型中的安全推理。在 MUSE 考虑的安全推理基准上,SIMC 的通信量减少了 23-29 倍,比 MUSE 快 11.4 倍。SIMC 使用非线性激活函数(如 ReLU)的新型协议获得了这些改进,其通信量比 MUSE 少 28 倍以上,性能比 MUSE 高 43 倍。事实上,SIMC 的性能击败了最先进的半诚实安全推理系统
最后,与 MUSE 类似,我们展示了如何将 SIMC 的大部分加密成本推到一个独立于输入的预处理阶段。虽然这个协议的在线阶段的成本,即 SIMC++,与 MUSE 相同,但 SIMC 的整体改进转化为对 MUSE 预处理阶段的类似改进。
1 介绍
机器学习在应用中的广泛使用,特别是使用预先训练的模型进行推理,使得保护隐私的机器学习问题,特别是安全推理越来越重要。在安全推理中,服务器
Lehmkuhl 等人 [32](简称 MUSE)之前的工作认为,虽然在部署中,假设托管 ML 模型的服务器是半诚实的可能是合理的,但所有成千上万的客户端都是半诚实的可能性要小得多。这是因为虽然服务器是一个固定的、典型的知名实体 —— 模型所有者,但客户可能是任何任意的实体。MUSE 表明,如果一个客户在这种半诚实的安全推理协议中表现得很恶意(即偏离协议规范),那么它可以完全破坏服务器输入的隐私。从形式上看,他们开发了一种针对最先进的半诚实协议的模型提取攻击,与最好的黑盒模型提取攻击相比,该攻击能使恶意客户在少得多的推理查询中了解模型的所有权重 [10]。虽然这种攻击在理论上可以通过使用对恶意对手安全的 2PC 协议来挫败 [15, 18, 27, 28],但这样做的开销是非常大的。为了解决现有文献和实践之间的差距,MUSE 提出了客户端 - 恶意威胁模型,即允许客户端有恶意行为,而服务器仍被假定为半诚实的。在这个模型中,MUSE 建立了一个安全推理的系统,其开销比那些同时保护恶意服务器和客户端的系统低得多。然而,MUSE 的具体通信和计算成本还有待提高,仍然比 MUSE 建立的支持任意激活函数的类似半诚实系统 DELPHI [35] 大约大 15 倍。
1.1 我们的贡献
在这项工作中,我们提出了 SIMC—— 一个新的安全神经网络推理系统,它在客户端恶意模型中是安全的,并且比之前最先进的 MUSE 至少多一个数量级的性能。
神经网络由 2 种类型的层或函数组成线性层(包括矩阵乘法、卷积等函数)和非线性层(包括 ReLU、ReLU6、Maxpool 等函数)。在 MUSE 考虑的基准中,MUSE 近 99% 的通信开销(以及约 80% 的整体性能开销)是由于非线性层的安全计算协议造成的。SIMC 的核心是一个全新的安全计算非线性层的协议,与 MUSE 相比,它在计算和通信方面甚至在分析上都大大减轻了重量。正如我们在第 1.3 节中所解释的,MUSE 使用计算量大的分级同态加密 [8, 19, 20] 以及通信量大的认证海狸三重 [15, 28] 来实现其非线性层。相比之下,SIMC 使用廉价的遗忘传输和 onetime pad 加密来实现同样的任务。与 MUSE 类似,我们的协议支持任意非线性函数的计算,对于流行的激活函数如 ReLU 和 ReLU6(第 5.2 节),比 MUSE 节省 28-33 倍的通信费用,性能高达 43 倍。
接下来,我们精心设计了线性层的原型,并使用自定义的一致性检查阶段将其与非线性层协议相结合,以获得安全推理任务的端到端客户端恶意安全。在 MUSE 中考虑的神经网络推理基准上,SIMC 的通信效率比 MUSE 高 23-29 倍,性能比它高 4.3-11.4 倍。有了这些,我们在通信和运行时间方面甚至比 DELPHI 更便宜,DELPHI 是支持任意非线性函数的最先进的半虹膜安全推理。
最后,MUSE 展示了如何将他们的协议分成 2 个阶段 —— 一个离线的、与客户输入无关的阶段,以及一个在线的输入依赖阶段。这种分割的方式可以使大于 99.6% 的加密开销转移到离线阶段。我们展示了如何以类似的方式修改我们的协议,其代价是略微增加我们的总体成本。这个协议,SIMC++ 将几乎所有的加密开销都推到了预处理模型中,并且有一个与 MUSE 相同的在线阶段。此外,与 MUSE 相比,SIMC++ 的预处理阶段节省了 15-17 倍的通信费用,性能提高了 7.4 倍。
1.2 技术概述
1.2.1 我们的协议
1.3 相关工作
1.4 结构
我们首先在第 2 节中描述了我们的协议所使用的各种加密构件和威胁模型。第 3 节介绍了我们的非线性函数的新协议及其安全证明。在第 4 节,我们描述了如何安全地计算线性层,以及我们的安全推理的端到端协议及其证明。在同一节中,我们提供了我们在预处理模型中的安全推理协议的细节。我们在第 5 节中提供了实施细节和实证结果。我们在第 6 节中得出结论。
2 威胁模型和构件
2.1 威胁模型和安全
2.2 积木构件
符号:
增量式秘密共享:对于
经过认证的共享 [15]:对于随机选择的
2.2.1 加法同态加密
加法同态加密方案 [17, 39, 45]
: 是一种随机算法,对公钥 和相应的秘钥 进行采样。 : 需要一个公钥 和一个信息 来输出一个密文 。 : 需要一个秘钥 和一个密文 来输出明文信息 。 : 需要一个公钥 和两个加密信息 和 来加密信息 和一个线性函数 来输出一个加密 的密文 。
我们要求
2.2.2 不经意传输
在长度为
2.2.3 混淆电路
3 非线性函数
3.1 协议
4 安全推理
神经网络推理算法通常由两种类型的层组成 —— 线性和非线性。线性层包括矩阵乘法(全连接层)和卷积等功能,而非线性层包括 ReLU、ReLU6 和 Maxpool 等功能。在本节中,我们首先讨论如何安全地计算线性层 —— 功能和实现它的协议 —— 在第 4.1 节。然后,在第 4.2 节中,我们描述了我们在客户端恶意设置中安全推理的完整协议。该协议通过结合我们在第 4.1 节和第 3.1 节的协议,以及一致性检查阶段,允许对使用任何线性和非线性层组合的任何神经网络进行安全推理。在第 4.4 节中,我们讨论了我们在预处理模型中的安全推理协议。
4.1 线性层
4.2 神经网络推理协议
4.3 正确性和安全性
4.4 使用预处理的安全推理
5 实施和评估
5.1 实施和系统设置
5.2 非线性层的性能
5.3 安全推理性能
5.4 预处理模型的性能
6 总结
我们考虑了客户端恶意安全推理的问题,并建立了一个系统,即 SIMC,其通信效率和性能至少比之前的技术水平高一个数量级。此外,我们的系统还可以有一个非常轻的在线阶段。根据我们在第 5.2 节中的微观测试,我们期望我们对较大的神经网络模型,如 ImageNet 上的 ResNet50,比 MUSE 的收益还要高,因为它们有更广泛的非线性层(多达 220 个节点)。此外,用 Silent-OT 扩展技术 [6, 54] 取代我们基于 KOS [26] 的 OT 扩展将进一步改善通信,并在低带宽环境下带来更好的性能。最后,SIMC 与 SecureML [37]、Gazelle [24]、DELPHI 和 MUSE 的工作思路相同,它们使用乱码电路的通用性来处理所有非线性函数。我们将探索在客户端恶意设置中设计专门的非线性层协议作为未来的工作,其思路与半诚实设置中的最先进工作 CrypTFlow2 [42] 相同。